#pragma once
#include "global.h"

/**Desktop share call func*/
typedef void (CALLBACK* INCOMMINGDATA)(ScreenHeader screenHeader,char* buf,int size);

/**Desk Topshare interface*/
class  IDeskTopShare
{
public:
	IDeskTopShare(void){};
	~IDeskTopShare(void){};
	void start(ScreenHeader screenHeader,INCOMMINGDATA callback);
};

/**to show the screen image*/
class DeskTopClient
{
public:
	DeskTopClient(HWND hWnd);
	~DeskTopClient(void);
	void Set_BackGroud_Image(char* img,int size);
public:
	HWND  m_hWnd;///<the windows handle to show the screen
	void * pImg;///<the image parser control pointer
};
/**create a IDeskTopShare instance*/
__declspec(dllexport) IDeskTopShare * createIDeskTopShare();
/**destroy IDeskTopShare*/
__declspec(dllexport) void destroyIDeskTopShare(IDeskTopShare * deskTop);
/**create a DeskTopClient instance*/
__declspec(dllexport) DeskTopClient * createDeskTopClient(HWND hWnd);
/**destroy DeskTopClient*/
__declspec(dllexport) void destroyDeskTopClient(DeskTopClient * c);